home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / programmer / 4540 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  6.2 KB

  1. Path: nntp.teleport.com!sschaem
  2. From: sschaem@teleport.com (Stephan Schaem)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: Amiga doesn`t need Pl
  5. Date: 1 Mar 1996 00:01:29 GMT
  6. Organization: Teleport - Portland's Public Access (503) 220-1016
  7. Distribution: world
  8. Message-ID: <4h5eop$hvl@maureen.teleport.com>
  9. References: <john.hendrikx.4hkq@grafix.xs4all.nl>
  10. NNTP-Posting-Host: linda.teleport.com
  11. X-Newsreader: TIN [version 1.2 PL2]
  12.  
  13. John Hendrikx (john.hendrikx@grafix.xs4all.nl) wrote:
  14. : In a message of 24 Feb 96 Stephan Schaem wrote to All:
  15.  
  16. :  SS> The cpu is not the problem, the amiga HW (From CBM) sux big time.
  17. :  SS> The CPU is not the problem... and 030 can render doom in 'fastmem'
  18. :  SS> 'easy'.
  19.  
  20. : I don't think so, maybe the 50 MHz version, but they still won't get 25 FPS
  21. : orso at 320x256 1x1 (talking DOOM here, not some WolfenStein clone with floors
  22. : which I see all too often).
  23.  
  24.  rendering a static scene should acheive 25fps in 320x200 (60hz) with
  25.  a 25mhz 030 (50% walls 50% floor/ceiling). I'm just talking about rendering 
  26.  it to fastmem, no c2p into chipmem... I just wanted to point out that 
  27.  the CPU is not the problem in the amiga to play something like doom. 
  28.  (Well 14mhz 020 are)
  29.  
  30. :  SS> The killing factor is the slow video memory. an 030 compete easy with
  31. :  SS> a 486 in integer operation (mhz for mhz, not on an inst basis but on
  32. :  SS> an overall small cached loop... like tmap)
  33.  
  34. : Do you really think so?  On 030 the fastest instructions available take 2
  35. : cycles, while most instructions on 486 take 1 cycle.  486 also has much faster
  36. : Mul and Div instructions. You would be better of comparing the 040 with the
  37. : 486.
  38.  
  39.  well,  the 68030 as 16 'general' purpose register (Let not argue on the
  40.  details:) as a separate data/inst cache . Does the 486 halt during buss
  41.  access? Do you know how many cycles are needed to tmap a gouraud lighted
  42.  pixel on a 486? on a 030 is 28cycle or so.
  43.  also this take 6 cycle on a 030:    addi.l #32bitvalue,(localvariable,a7)
  44.  how many on a 486 and 386? (Sorry I dont have any x86  stuff:( )
  45.  
  46. :  >> Yes it does, see TextDemo.  The percentage of CPU time used for the C2P
  47. :  >> is NON-EXISTANT on the clones, because the 'fast-ram buffer' we use on
  48. :  >> Amiga is called 'the screen' on the clones.  No extra copying (or
  49. :  >> converting for that matter) needed.
  50.  
  51. :  SS> Again the problem is not c2p but slow video memory...Does PC alway
  52. :  SS> cache video memory on the L1 cache? I hear many people rendering in
  53. :  SS> local mem then doing a copy.
  54.  
  55. : Of course the video memory is not cached in the L1 cache, for the same reason
  56. : as ChipRAM isn't cached on Amiga.  To copy the stuff to video ram why not
  57. : simply ask the DMA controller to copy that shit for you while you render the
  58. : next frame?  Also why wouldn't the same trick to get 'free' cycles on Amiga
  59. : while doing ChipRAM writes work with the clones much faster Video RAM? While
  60. : writing the pixel to video ram the processor continues to calculate the next
  61. : TMapped pixel.
  62.  
  63.  I'm very unfamiliar with PC... but I heard that the PC dma is dead slow
  64.  like 4meg second to dma system memory... does all PC video card have DMA?
  65.  And I also heard that the PC dma block the bus during access.
  66.  I actually dont know if a 386 or 486 can continue execution while bus 
  67.  write a pending (040 upto 3, how many on the 486?)
  68.  
  69.  If you use dma and render in local mem on PC, you can say its diferent
  70.  then rendering in fast on the amiga and call it "the screen"...
  71.  
  72.  And if you do byte access directly to the video card memory dont you
  73.  think it would be slower then in the L1 cache + the copy?
  74.  
  75. :  >> That's TextDemo 5.7x (unreleased version) someone tested for me.  15-20
  76. :  >> FPS for a 68060/50 which is supposed to be 2-3 times as powerfull as a
  77. :  >> 486DX2/50 is quite depressing, considering that that 486 will do it at 30
  78. :  >> FPS.  Now just translate that to the slower Amiga's (ie, the ones only
  79. :  >> equipped with 030's and 040's).
  80.  
  81. :  SS> 1.2 meg, around 15 frames second used to copy the fastmem buffer to
  82. :  SS> chip. So 100mips*75% / 320*200*20 = 58.5 cycle per pixel rendered
  83. :  SS> in 060 local mem! that is HUGE! when you know that a 040 need ~10
  84. :  SS> cycle per pixel to do floor/ceiling gouraud shaded texture mapping.
  85.  
  86. : I doubt this 10 cycle routine of yours is very usefull for realistic purposes
  87. : judging from all the 'unrealistic' TMap routines I've seen here lately (ones
  88. : with rely on 64K boundaries or too big or too small Textures).
  89.  
  90.  It texture anything using 64K tmap with 24bit/16bit/8bit fixpoint
  91.  and gouraud lighting. I do not see why using segment is 'unrealistic' ?!
  92.  The limitation, you cant have texture on a single polygon bigger then 
  93.  256x256 pixel in 256 colors.(But you can subdivide the polygon and use
  94.  x tmap, my guess its something rare) Thats it, you can even use subpixel
  95.  U/V upto 65536 subdivition per texel :)
  96.  I'm already using the inner loop in a test case (zom/rot of an image).
  97.  When I finish my full quatradic interpolation with subdivition polygon 
  98.  render routine I will integrate that inner loop (its designed around it). 
  99.  (This loop as been proposed here some days ago, and I think as already been
  100.  integrated and tested in a 3d env. in a 1/z subdivition mapper.)
  101.  (All this is for quake style render engine, not doom.)
  102.  
  103. : The routine used to do (plain shaded) wall-mapping in TD takes 18 cycles/pixel
  104. : (030 cycles).  The floor/ceiling mapper is not the best possible anymore (I've
  105. : seen a *usefull* trick presented here recently which I could have used in the
  106. : floor/ceiling mapper).
  107.  
  108.  17 cycles on a 030 if you use segment. 15 cycles if you use pattern
  109.  repetition... precalculating the steping is slower on 020/030.
  110.  
  111. :  SS> why would a 50mhz 060 be 6 time slower then a 40mhz 040 when working
  112. :  SS> only in local fastmem?!?!!!?!??!!? (I assume here that you do gouraud
  113. :  SS> shade your quads)
  114.  
  115. : It DIDN'T work in local fastmem (did I say that?).  This included C2P time.  It
  116. : was run in 320x240 1x1, 8-bit, full floors, ceilings and walls in DOOM style.
  117.  
  118.  I bet that if you had a 300mhz 060 the c2p wont be any faster then the
  119.  25mhz 040... The 060 is not to blame.
  120.  
  121.  This is what I beleive the amiga as enought power even with a 25mhz 030 to
  122.  do doom(but flat shaded tmaping) at ~15-20fps if it had a local bus video 
  123.  card.
  124.  
  125.  Stephan
  126.